home *** CD-ROM | disk | FTP | other *** search
- *----------------------------------------------------------------
- * SAVFRPG - COPIES DATA TO AND FROM A SAVEFILE
- *----------------------------------------------------------------
- * ARGUMENTS:
- * SFNAME - SAVEFILE NAME
- * SFLIB - SAVEFILE LIBRARY
- * DFNAME - DATA FILE NAME
- * DFLIB - DATA FILE LIBRARY
- * DIRECT - COPY DIRECTION. 'FROMSAVF' OR 'TOSAVF'
- *----------------------------------------------------------------
- * COPY DATA FROM SAVEFILE TO DATA FILE
- FSAVFF IF F 528 DISK UC
- FTOFILEF O F 528 DISK UC
- *----------------------------------------------------------------
- * COPY DATA FROM DATA FILE TO SAVE FILE
- FFRFILET IF F 528 DISK UC
- FSAVFT O F 528 DISK UC
- *----------------------------------------------------------------
- ISAVFF AA 01
- I 1 528 DATAF
- *----------------------------------------------------------------
- IFRFILET AA 01
- I 1 528 DATAT
- *----------------------------------------------------------------
- * CONSTANTS USED FOR UPPERCASE CONVERSION
- I DS
- I 'ABCDEFGHIJKLMNOPQRST-C UP
- I 'UVWXYZ'
- I 'abcdefghijklmnopqrst-C LO
- I 'uvwxyz'
- *----------------------------------------------------------------
- C *ENTRY PLIST PARAMETERS
- C PARM SFNAME 10 SAVF NAME
- C PARM SFLIB 10 SAVF LIB
- C PARM DFNAME 10 DATA FILE
- C PARM DFLIB 10 DATA LIB
- C PARM DIRECT 8 DIRECTION
- *----------------------------------------------------------------
- * UPPER CASE PARAMETERS
- C LO:UP XLATESFNAME SFNAME
- C LO:UP XLATESFLIB SFLIB
- C LO:UP XLATEDFNAME DFNAME
- C LO:UP XLATEDFLIB DFLIB
- C LO:UP XLATEDIRECT DIRECT
- *----------------------------------------------------------------
- * CHECK DIRECTION PARAMETER
- C SELEC
- C DIRECT WHEQ 'FROMSAVF'
- C DIRECT WHEQ 'TOSAVF '
- C OTHER INVALID DATA
- C GOTO EXIT
- C ENDSL
- *----------------------------------------------------------------
- * MAINLINE
- *
- * OVERRIDE FILES
- C EXSR DOOVR
- * OPEN FILES
- C EXSR OPENFI
- * PROCESS FILES
- C EXSR PROCES
- * CLOSE FILES
- C EXSR CLOSEF
- *----------------------------------------------------------------
- * EXIT APPLICATION
- C EXIT TAG
- C MOVE *ON *INLR
- *----------------------------------------------------------------
- C PROCES BEGSR
- C DIRECT IFEQ 'FROMSAVF'
- * COPY DATA FROM SAVEFILE TO DATA FILE
- C READ SAVFF 40
- C *IN40 DOWEQ*OFF
- C EXCPTFSAVF
- C READ SAVFF 40
- C ENDDO
- C ELSE
- * COPY DATA FROM DATA FILE TO SAVEFILE
- C READ FRFILET 40
- C *IN40 DOWEQ*OFF
- C EXCPTTSAVF
- C READ FRFILET 40
- C ENDDO
- C ENDIF
- C ENDSR
- *----------------------------------------------------------------
- C OPENFI BEGSR
- * OPEN FILES
- C DIRECT IFEQ 'FROMSAVF'
- C OPEN SAVFF
- C OPEN TOFILEF
- C ELSE
- C OPEN SAVFT
- C OPEN FRFILET
- C ENDIF
- C ENDSR
- *----------------------------------------------------------------
- C CLOSEF BEGSR
- * CLOSE FILES
- C DIRECT IFEQ 'FROMSAVF'
- C CLOSESAVFF
- C CLOSETOFILEF
- C ELSE
- C CLOSESAVFT
- C CLOSEFRFILET
- C ENDIF
- C ENDSR
- *----------------------------------------------------------------
- C DOOVR BEGSR
- * OVERRIDE FILES
- C DIRECT IFEQ 'FROMSAVF'
- C MOVEL'SAVFF 'ONE 10
- C ELSE
- C MOVEL'SAVFT 'ONE 10
- C ENDIF
- C MOVELSFNAME THREE 10
- C MOVELSFLIB TWO 10
- C EXSR OVRDBF
- C DIRECT IFEQ 'FROMSAVF'
- C MOVEL'TOFILEF 'ONE
- C ELSE
- C MOVEL'FRFILET 'ONE
- C ENDIF
- C MOVELDFNAME THREE
- C MOVELDFLIB TWO
- C EXSR OVRDBF
- C ENDSR
- *----------------------------------------------------------------
- C OVRDBF BEGSR
- * CREATES - OVRDBF(ONE) TOFILE(TWO/THREE)
- * EXPECTS ONE, TWO & THREE
- C MOVE *BLANKS WORK 80
- C MOVEL'OVRDBF' WORK
- C MOVE 'FILE( 'STRING 8
- C WORK CAT STRING:1 WORK
- C WORK CAT ONE:0 WORK
- C MOVE ') TOFILE'STRING 8
- C WORK CAT STRING:0 WORK
- C MOVE '( 'STRING 8
- C WORK CAT STRING:0 WORK
- C WORK CAT TWO:0 WORK
- C MOVE '/ 'STRING 8
- C WORK CAT STRING:0 WORK
- C WORK CAT THREE:0 WORK
- C MOVE ') 'STRING 8
- C WORK CAT STRING:0 WORK
- C EXSR QEXC
- C ENDSR
- *----------------------------------------------------------------
- C QEXC BEGSR
- * PROCESS OVERRIDES
- C CALL 'QCMDEXC'
- C PARM WORK
- C PARM 80 QCMDLN 155
- C ENDSR
- *----------------------------------------------------------------
- * OUTPUT TO SAVEFILE
- OTOFILEF E FSAVF
- O DATAF 528
- * OUTPUT TO DATA FILE
- OSAVFT E TSAVF
- O DATAT 528
- *----------------------------------------------------------------
-